package com.ptms.dto;

import lombok.Data;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;

/**
 * 密码修改数据传输对象
 * 用于接收前端传递的新旧密码
 */
@Data
public class PasswordChangeDTO {

    /**
     * 原密码
     * 不能为空
     */
    @NotBlank(message = "原密码不能为空")
    private String oldPassword;

    /**
     * 新密码
     * 不能为空，且需满足密码强度要求
     */
    @NotBlank(message = "新密码不能为空")
    @Pattern(regexp = "^(?=.*[a-zA-Z])(?=.*\\d).{6,20}$",
            message = "新密码需包含字母和数字，长度6-20位")
    private String newPassword;
}
